/*
 * TeleStax, Open Source Cloud Communications  Copyright 2012. 
 * and individual contributors
 * by the @authors tag. See the copyright.txt in the distribution for a
 * full listing of individual contributors.
 *
 * This is free software; you can redistribute it and/or modify it
 * under the terms of the GNU Lesser General Public License as
 * published by the Free Software Foundation; either version 2.1 of
 * the License, or (at your option) any later version.
 *
 * This software is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this software; if not, write to the Free
 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
 * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
 */

/*
 *  Implementation of the JAIN-SIP TypedTime .
 *  @see  gov/nist/javax/sdp/fields/TypedTime.java 
 *  @author Laurent STRULLU (laurent.strullu@orange.com)
 *  @version 1.0 
 */

function TypedTime() {
    if(logger!=undefined) logger.debug("TypedTime:TypedTime()");
    this.classname="TypedTime";
    this.unit="";
    this.time=0;
}
 
TypedTime.prototype = new SDPObject();
TypedTime.prototype.constructor=TypedTime; 

TypedTime.prototype.setTime =function(time) {
    if(logger!=undefined) logger.debug("TypedTime:setTime()");
    if(typeof(time) == 'number') this.time=time;
    else throw new SdpException("TypedTime.prototype.setTime() requires a number argument");
}

TypedTime.prototype.getTime =function() {
    if(logger!=undefined) logger.debug("TypedTime:getTime()");
    return this.time;
}

TypedTime.prototype.setUnit =function(unit) {
    if(logger!=undefined) logger.debug("TypedTime:setUnit()");
    if(typeof(unit) == 'string') this.unit=unit;
    else throw new SdpException("TypedTime.prototype.setUnit() requires string argument ");
}

TypedTime.prototype.getUnit =function() {
    if(logger!=undefined) logger.debug("TypedTime:getUnit()");
    return this.unit;
}

TypedTime.prototype.encode =function() {
    if(logger!=undefined) logger.debug("TypedTime:encode()");
    var encodedString = "";
    encodedString += this.time;
    if (this.unit != null)
        encodedString += this.unit;
    return encodedString;
}
